// Copyright (c) 2016, SolidCP
// SolidCP is distributed under the Creative Commons Share-alike license
// 
// SolidCP is a fork of WebsitePanel:
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  Outercurve Foundation  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.3074
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 
namespace SolidCP.Providers.Virtualization {
    using System.Xml.Serialization;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Diagnostics;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="VirtualizationServerSoap", Namespace="http://smbsaas/solidcp/server/")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))]
    public partial class VirtualizationServer : Microsoft.Web.Services3.WebServicesClientProtocol {
        
        public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineExOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachinesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineThumbnailImageOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback ChangeVirtualMachineStateOperationCompleted;
        
        private System.Threading.SendOrPostCallback ShutDownVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineJobsOperationCompleted;
        
        private System.Threading.SendOrPostCallback RenameVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback ExportVirtualMachineOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualMachineSnapshotsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSnapshotOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateSnapshotOperationCompleted;
        
        private System.Threading.SendOrPostCallback RenameSnapshotOperationCompleted;
        
        private System.Threading.SendOrPostCallback ApplySnapshotOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteSnapshotOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteSnapshotSubtreeOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSnapshotThumbnailImageOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExternalSwitchesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSwitchesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SwitchExistsOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateSwitchOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteSwitchOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetInsertedDVDOperationCompleted;
        
        private System.Threading.SendOrPostCallback InsertDVDOperationCompleted;
        
        private System.Threading.SendOrPostCallback EjectDVDOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLibraryItemsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetKVPItemsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetStandardKVPItemsOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddKVPItemsOperationCompleted;
        
        private System.Threading.SendOrPostCallback RemoveKVPItemsOperationCompleted;
        
        private System.Threading.SendOrPostCallback ModifyKVPItemsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVirtualHardDiskInfoOperationCompleted;
        
        private System.Threading.SendOrPostCallback MountVirtualHardDiskOperationCompleted;
        
        private System.Threading.SendOrPostCallback UnmountVirtualHardDiskOperationCompleted;
        
        private System.Threading.SendOrPostCallback ExpandVirtualHardDiskOperationCompleted;
        
        private System.Threading.SendOrPostCallback ConvertVirtualHardDiskOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteRemoteFileOperationCompleted;
        
        private System.Threading.SendOrPostCallback ExpandDiskVolumeOperationCompleted;
        
        private System.Threading.SendOrPostCallback ReadRemoteFileOperationCompleted;
        
        private System.Threading.SendOrPostCallback WriteRemoteFileOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetJobOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAllJobsOperationCompleted;
        
        private System.Threading.SendOrPostCallback ChangeJobStateOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetProcessorCoresNumberOperationCompleted;
        
        /// <remarks/>
        public VirtualizationServer() {
            this.Url = "http://127.0.0.1:9003/VirtualizationServer.asmx";
        }
        
        /// <remarks/>
        public event GetVirtualMachineCompletedEventHandler GetVirtualMachineCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineExCompletedEventHandler GetVirtualMachineExCompleted;
        
        /// <remarks/>
        public event GetVirtualMachinesCompletedEventHandler GetVirtualMachinesCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineThumbnailImageCompletedEventHandler GetVirtualMachineThumbnailImageCompleted;
        
        /// <remarks/>
        public event CreateVirtualMachineCompletedEventHandler CreateVirtualMachineCompleted;
        
        /// <remarks/>
        public event UpdateVirtualMachineCompletedEventHandler UpdateVirtualMachineCompleted;
        
        /// <remarks/>
        public event ChangeVirtualMachineStateCompletedEventHandler ChangeVirtualMachineStateCompleted;
        
        /// <remarks/>
        public event ShutDownVirtualMachineCompletedEventHandler ShutDownVirtualMachineCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineJobsCompletedEventHandler GetVirtualMachineJobsCompleted;
        
        /// <remarks/>
        public event RenameVirtualMachineCompletedEventHandler RenameVirtualMachineCompleted;
        
        /// <remarks/>
        public event DeleteVirtualMachineCompletedEventHandler DeleteVirtualMachineCompleted;
        
        /// <remarks/>
        public event ExportVirtualMachineCompletedEventHandler ExportVirtualMachineCompleted;
        
        /// <remarks/>
        public event GetVirtualMachineSnapshotsCompletedEventHandler GetVirtualMachineSnapshotsCompleted;
        
        /// <remarks/>
        public event GetSnapshotCompletedEventHandler GetSnapshotCompleted;
        
        /// <remarks/>
        public event CreateSnapshotCompletedEventHandler CreateSnapshotCompleted;
        
        /// <remarks/>
        public event RenameSnapshotCompletedEventHandler RenameSnapshotCompleted;
        
        /// <remarks/>
        public event ApplySnapshotCompletedEventHandler ApplySnapshotCompleted;
        
        /// <remarks/>
        public event DeleteSnapshotCompletedEventHandler DeleteSnapshotCompleted;
        
        /// <remarks/>
        public event DeleteSnapshotSubtreeCompletedEventHandler DeleteSnapshotSubtreeCompleted;
        
        /// <remarks/>
        public event GetSnapshotThumbnailImageCompletedEventHandler GetSnapshotThumbnailImageCompleted;
        
        /// <remarks/>
        public event GetExternalSwitchesCompletedEventHandler GetExternalSwitchesCompleted;
        
        /// <remarks/>
        public event GetSwitchesCompletedEventHandler GetSwitchesCompleted;
        
        /// <remarks/>
        public event SwitchExistsCompletedEventHandler SwitchExistsCompleted;
        
        /// <remarks/>
        public event CreateSwitchCompletedEventHandler CreateSwitchCompleted;
        
        /// <remarks/>
        public event DeleteSwitchCompletedEventHandler DeleteSwitchCompleted;
        
        /// <remarks/>
        public event GetInsertedDVDCompletedEventHandler GetInsertedDVDCompleted;
        
        /// <remarks/>
        public event InsertDVDCompletedEventHandler InsertDVDCompleted;
        
        /// <remarks/>
        public event EjectDVDCompletedEventHandler EjectDVDCompleted;
        
        /// <remarks/>
        public event GetLibraryItemsCompletedEventHandler GetLibraryItemsCompleted;
        
        /// <remarks/>
        public event GetKVPItemsCompletedEventHandler GetKVPItemsCompleted;
        
        /// <remarks/>
        public event GetStandardKVPItemsCompletedEventHandler GetStandardKVPItemsCompleted;
        
        /// <remarks/>
        public event AddKVPItemsCompletedEventHandler AddKVPItemsCompleted;
        
        /// <remarks/>
        public event RemoveKVPItemsCompletedEventHandler RemoveKVPItemsCompleted;
        
        /// <remarks/>
        public event ModifyKVPItemsCompletedEventHandler ModifyKVPItemsCompleted;
        
        /// <remarks/>
        public event GetVirtualHardDiskInfoCompletedEventHandler GetVirtualHardDiskInfoCompleted;
        
        /// <remarks/>
        public event MountVirtualHardDiskCompletedEventHandler MountVirtualHardDiskCompleted;
        
        /// <remarks/>
        public event UnmountVirtualHardDiskCompletedEventHandler UnmountVirtualHardDiskCompleted;
        
        /// <remarks/>
        public event ExpandVirtualHardDiskCompletedEventHandler ExpandVirtualHardDiskCompleted;
        
        /// <remarks/>
        public event ConvertVirtualHardDiskCompletedEventHandler ConvertVirtualHardDiskCompleted;
        
        /// <remarks/>
        public event DeleteRemoteFileCompletedEventHandler DeleteRemoteFileCompleted;
        
        /// <remarks/>
        public event ExpandDiskVolumeCompletedEventHandler ExpandDiskVolumeCompleted;
        
        /// <remarks/>
        public event ReadRemoteFileCompletedEventHandler ReadRemoteFileCompleted;
        
        /// <remarks/>
        public event WriteRemoteFileCompletedEventHandler WriteRemoteFileCompleted;
        
        /// <remarks/>
        public event GetJobCompletedEventHandler GetJobCompleted;
        
        /// <remarks/>
        public event GetAllJobsCompletedEventHandler GetAllJobsCompleted;
        
        /// <remarks/>
        public event ChangeJobStateCompletedEventHandler ChangeJobStateCompleted;
        
        /// <remarks/>
        public event GetProcessorCoresNumberCompletedEventHandler GetProcessorCoresNumberCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetVirtualMachine", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachine GetVirtualMachine(string vmId) {
            object[] results = this.Invoke("GetVirtualMachine", new object[] {
                        vmId});
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachine(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachine", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachine EndGetVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineAsync(string vmId) {
            this.GetVirtualMachineAsync(vmId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineAsync(string vmId, object userState) {
            if ((this.GetVirtualMachineOperationCompleted == null)) {
                this.GetVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachine", new object[] {
                        vmId}, this.GetVirtualMachineOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineOperationCompleted(object arg) {
            if ((this.GetVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineCompleted(this, new GetVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetVirtualMachineEx", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachine GetVirtualMachineEx(string vmId) {
            object[] results = this.Invoke("GetVirtualMachineEx", new object[] {
                        vmId});
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineEx(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineEx", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachine EndGetVirtualMachineEx(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineExAsync(string vmId) {
            this.GetVirtualMachineExAsync(vmId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineExAsync(string vmId, object userState) {
            if ((this.GetVirtualMachineExOperationCompleted == null)) {
                this.GetVirtualMachineExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineExOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineEx", new object[] {
                        vmId}, this.GetVirtualMachineExOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineExOperationCompleted(object arg) {
            if ((this.GetVirtualMachineExCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineExCompleted(this, new GetVirtualMachineExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetVirtualMachines", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachine[] GetVirtualMachines() {
            object[] results = this.Invoke("GetVirtualMachines", new object[0]);
            return ((VirtualMachine[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachines(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachines", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachine[] EndGetVirtualMachines(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachine[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachinesAsync() {
            this.GetVirtualMachinesAsync(null);
        }
        
        /// <remarks/>
        public void GetVirtualMachinesAsync(object userState) {
            if ((this.GetVirtualMachinesOperationCompleted == null)) {
                this.GetVirtualMachinesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachinesOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachines", new object[0], this.GetVirtualMachinesOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachinesOperationCompleted(object arg) {
            if ((this.GetVirtualMachinesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachinesCompleted(this, new GetVirtualMachinesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetVirtualMachineThumbnailImage", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] GetVirtualMachineThumbnailImage(string vmId, ThumbnailSize size) {
            object[] results = this.Invoke("GetVirtualMachineThumbnailImage", new object[] {
                        vmId,
                        size});
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineThumbnailImage(string vmId, ThumbnailSize size, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineThumbnailImage", new object[] {
                        vmId,
                        size}, callback, asyncState);
        }
        
        /// <remarks/>
        public byte[] EndGetVirtualMachineThumbnailImage(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineThumbnailImageAsync(string vmId, ThumbnailSize size) {
            this.GetVirtualMachineThumbnailImageAsync(vmId, size, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineThumbnailImageAsync(string vmId, ThumbnailSize size, object userState) {
            if ((this.GetVirtualMachineThumbnailImageOperationCompleted == null)) {
                this.GetVirtualMachineThumbnailImageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineThumbnailImageOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineThumbnailImage", new object[] {
                        vmId,
                        size}, this.GetVirtualMachineThumbnailImageOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineThumbnailImageOperationCompleted(object arg) {
            if ((this.GetVirtualMachineThumbnailImageCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineThumbnailImageCompleted(this, new GetVirtualMachineThumbnailImageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateVirtualMachine", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachine CreateVirtualMachine(VirtualMachine vm) {
            object[] results = this.Invoke("CreateVirtualMachine", new object[] {
                        vm});
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateVirtualMachine(VirtualMachine vm, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateVirtualMachine", new object[] {
                        vm}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachine EndCreateVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public void CreateVirtualMachineAsync(VirtualMachine vm) {
            this.CreateVirtualMachineAsync(vm, null);
        }
        
        /// <remarks/>
        public void CreateVirtualMachineAsync(VirtualMachine vm, object userState) {
            if ((this.CreateVirtualMachineOperationCompleted == null)) {
                this.CreateVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("CreateVirtualMachine", new object[] {
                        vm}, this.CreateVirtualMachineOperationCompleted, userState);
        }
        
        private void OnCreateVirtualMachineOperationCompleted(object arg) {
            if ((this.CreateVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateVirtualMachineCompleted(this, new CreateVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UpdateVirtualMachine", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachine UpdateVirtualMachine(VirtualMachine vm) {
            object[] results = this.Invoke("UpdateVirtualMachine", new object[] {
                        vm});
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateVirtualMachine(VirtualMachine vm, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UpdateVirtualMachine", new object[] {
                        vm}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachine EndUpdateVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachine)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateVirtualMachineAsync(VirtualMachine vm) {
            this.UpdateVirtualMachineAsync(vm, null);
        }
        
        /// <remarks/>
        public void UpdateVirtualMachineAsync(VirtualMachine vm, object userState) {
            if ((this.UpdateVirtualMachineOperationCompleted == null)) {
                this.UpdateVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("UpdateVirtualMachine", new object[] {
                        vm}, this.UpdateVirtualMachineOperationCompleted, userState);
        }
        
        private void OnUpdateVirtualMachineOperationCompleted(object arg) {
            if ((this.UpdateVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateVirtualMachineCompleted(this, new UpdateVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ChangeVirtualMachineState", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult ChangeVirtualMachineState(string vmId, VirtualMachineRequestedState newState) {
            object[] results = this.Invoke("ChangeVirtualMachineState", new object[] {
                        vmId,
                        newState});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginChangeVirtualMachineState(string vmId, VirtualMachineRequestedState newState, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ChangeVirtualMachineState", new object[] {
                        vmId,
                        newState}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndChangeVirtualMachineState(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void ChangeVirtualMachineStateAsync(string vmId, VirtualMachineRequestedState newState) {
            this.ChangeVirtualMachineStateAsync(vmId, newState, null);
        }
        
        /// <remarks/>
        public void ChangeVirtualMachineStateAsync(string vmId, VirtualMachineRequestedState newState, object userState) {
            if ((this.ChangeVirtualMachineStateOperationCompleted == null)) {
                this.ChangeVirtualMachineStateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeVirtualMachineStateOperationCompleted);
            }
            this.InvokeAsync("ChangeVirtualMachineState", new object[] {
                        vmId,
                        newState}, this.ChangeVirtualMachineStateOperationCompleted, userState);
        }
        
        private void OnChangeVirtualMachineStateOperationCompleted(object arg) {
            if ((this.ChangeVirtualMachineStateCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ChangeVirtualMachineStateCompleted(this, new ChangeVirtualMachineStateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ShutDownVirtualMachine", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ReturnCode ShutDownVirtualMachine(string vmId, bool force, string reason) {
            object[] results = this.Invoke("ShutDownVirtualMachine", new object[] {
                        vmId,
                        force,
                        reason});
            return ((ReturnCode)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginShutDownVirtualMachine(string vmId, bool force, string reason, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ShutDownVirtualMachine", new object[] {
                        vmId,
                        force,
                        reason}, callback, asyncState);
        }
        
        /// <remarks/>
        public ReturnCode EndShutDownVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ReturnCode)(results[0]));
        }
        
        /// <remarks/>
        public void ShutDownVirtualMachineAsync(string vmId, bool force, string reason) {
            this.ShutDownVirtualMachineAsync(vmId, force, reason, null);
        }
        
        /// <remarks/>
        public void ShutDownVirtualMachineAsync(string vmId, bool force, string reason, object userState) {
            if ((this.ShutDownVirtualMachineOperationCompleted == null)) {
                this.ShutDownVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnShutDownVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("ShutDownVirtualMachine", new object[] {
                        vmId,
                        force,
                        reason}, this.ShutDownVirtualMachineOperationCompleted, userState);
        }
        
        private void OnShutDownVirtualMachineOperationCompleted(object arg) {
            if ((this.ShutDownVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ShutDownVirtualMachineCompleted(this, new ShutDownVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetVirtualMachineJobs", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ConcreteJob[] GetVirtualMachineJobs(string vmId) {
            object[] results = this.Invoke("GetVirtualMachineJobs", new object[] {
                        vmId});
            return ((ConcreteJob[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineJobs(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineJobs", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ConcreteJob[] EndGetVirtualMachineJobs(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ConcreteJob[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineJobsAsync(string vmId) {
            this.GetVirtualMachineJobsAsync(vmId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineJobsAsync(string vmId, object userState) {
            if ((this.GetVirtualMachineJobsOperationCompleted == null)) {
                this.GetVirtualMachineJobsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineJobsOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineJobs", new object[] {
                        vmId}, this.GetVirtualMachineJobsOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineJobsOperationCompleted(object arg) {
            if ((this.GetVirtualMachineJobsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineJobsCompleted(this, new GetVirtualMachineJobsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/RenameVirtualMachine", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult RenameVirtualMachine(string vmId, string name) {
            object[] results = this.Invoke("RenameVirtualMachine", new object[] {
                        vmId,
                        name});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginRenameVirtualMachine(string vmId, string name, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("RenameVirtualMachine", new object[] {
                        vmId,
                        name}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndRenameVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void RenameVirtualMachineAsync(string vmId, string name) {
            this.RenameVirtualMachineAsync(vmId, name, null);
        }
        
        /// <remarks/>
        public void RenameVirtualMachineAsync(string vmId, string name, object userState) {
            if ((this.RenameVirtualMachineOperationCompleted == null)) {
                this.RenameVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRenameVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("RenameVirtualMachine", new object[] {
                        vmId,
                        name}, this.RenameVirtualMachineOperationCompleted, userState);
        }
        
        private void OnRenameVirtualMachineOperationCompleted(object arg) {
            if ((this.RenameVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RenameVirtualMachineCompleted(this, new RenameVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteVirtualMachine", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult DeleteVirtualMachine(string vmId) {
            object[] results = this.Invoke("DeleteVirtualMachine", new object[] {
                        vmId});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteVirtualMachine(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteVirtualMachine", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndDeleteVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteVirtualMachineAsync(string vmId) {
            this.DeleteVirtualMachineAsync(vmId, null);
        }
        
        /// <remarks/>
        public void DeleteVirtualMachineAsync(string vmId, object userState) {
            if ((this.DeleteVirtualMachineOperationCompleted == null)) {
                this.DeleteVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("DeleteVirtualMachine", new object[] {
                        vmId}, this.DeleteVirtualMachineOperationCompleted, userState);
        }
        
        private void OnDeleteVirtualMachineOperationCompleted(object arg) {
            if ((this.DeleteVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteVirtualMachineCompleted(this, new DeleteVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ExportVirtualMachine", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult ExportVirtualMachine(string vmId, string exportPath) {
            object[] results = this.Invoke("ExportVirtualMachine", new object[] {
                        vmId,
                        exportPath});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginExportVirtualMachine(string vmId, string exportPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ExportVirtualMachine", new object[] {
                        vmId,
                        exportPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndExportVirtualMachine(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void ExportVirtualMachineAsync(string vmId, string exportPath) {
            this.ExportVirtualMachineAsync(vmId, exportPath, null);
        }
        
        /// <remarks/>
        public void ExportVirtualMachineAsync(string vmId, string exportPath, object userState) {
            if ((this.ExportVirtualMachineOperationCompleted == null)) {
                this.ExportVirtualMachineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExportVirtualMachineOperationCompleted);
            }
            this.InvokeAsync("ExportVirtualMachine", new object[] {
                        vmId,
                        exportPath}, this.ExportVirtualMachineOperationCompleted, userState);
        }
        
        private void OnExportVirtualMachineOperationCompleted(object arg) {
            if ((this.ExportVirtualMachineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ExportVirtualMachineCompleted(this, new ExportVirtualMachineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetVirtualMachineSnapshots", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachineSnapshot[] GetVirtualMachineSnapshots(string vmId) {
            object[] results = this.Invoke("GetVirtualMachineSnapshots", new object[] {
                        vmId});
            return ((VirtualMachineSnapshot[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualMachineSnapshots(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualMachineSnapshots", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachineSnapshot[] EndGetVirtualMachineSnapshots(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachineSnapshot[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualMachineSnapshotsAsync(string vmId) {
            this.GetVirtualMachineSnapshotsAsync(vmId, null);
        }
        
        /// <remarks/>
        public void GetVirtualMachineSnapshotsAsync(string vmId, object userState) {
            if ((this.GetVirtualMachineSnapshotsOperationCompleted == null)) {
                this.GetVirtualMachineSnapshotsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualMachineSnapshotsOperationCompleted);
            }
            this.InvokeAsync("GetVirtualMachineSnapshots", new object[] {
                        vmId}, this.GetVirtualMachineSnapshotsOperationCompleted, userState);
        }
        
        private void OnGetVirtualMachineSnapshotsOperationCompleted(object arg) {
            if ((this.GetVirtualMachineSnapshotsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualMachineSnapshotsCompleted(this, new GetVirtualMachineSnapshotsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetSnapshot", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualMachineSnapshot GetSnapshot(string snapshotId) {
            object[] results = this.Invoke("GetSnapshot", new object[] {
                        snapshotId});
            return ((VirtualMachineSnapshot)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetSnapshot(string snapshotId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetSnapshot", new object[] {
                        snapshotId}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualMachineSnapshot EndGetSnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualMachineSnapshot)(results[0]));
        }
        
        /// <remarks/>
        public void GetSnapshotAsync(string snapshotId) {
            this.GetSnapshotAsync(snapshotId, null);
        }
        
        /// <remarks/>
        public void GetSnapshotAsync(string snapshotId, object userState) {
            if ((this.GetSnapshotOperationCompleted == null)) {
                this.GetSnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSnapshotOperationCompleted);
            }
            this.InvokeAsync("GetSnapshot", new object[] {
                        snapshotId}, this.GetSnapshotOperationCompleted, userState);
        }
        
        private void OnGetSnapshotOperationCompleted(object arg) {
            if ((this.GetSnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSnapshotCompleted(this, new GetSnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateSnapshot", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult CreateSnapshot(string vmId) {
            object[] results = this.Invoke("CreateSnapshot", new object[] {
                        vmId});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateSnapshot(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateSnapshot", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndCreateSnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void CreateSnapshotAsync(string vmId) {
            this.CreateSnapshotAsync(vmId, null);
        }
        
        /// <remarks/>
        public void CreateSnapshotAsync(string vmId, object userState) {
            if ((this.CreateSnapshotOperationCompleted == null)) {
                this.CreateSnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateSnapshotOperationCompleted);
            }
            this.InvokeAsync("CreateSnapshot", new object[] {
                        vmId}, this.CreateSnapshotOperationCompleted, userState);
        }
        
        private void OnCreateSnapshotOperationCompleted(object arg) {
            if ((this.CreateSnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateSnapshotCompleted(this, new CreateSnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/RenameSnapshot", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult RenameSnapshot(string vmId, string snapshotId, string name) {
            object[] results = this.Invoke("RenameSnapshot", new object[] {
                        vmId,
                        snapshotId,
                        name});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginRenameSnapshot(string vmId, string snapshotId, string name, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("RenameSnapshot", new object[] {
                        vmId,
                        snapshotId,
                        name}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndRenameSnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void RenameSnapshotAsync(string vmId, string snapshotId, string name) {
            this.RenameSnapshotAsync(vmId, snapshotId, name, null);
        }
        
        /// <remarks/>
        public void RenameSnapshotAsync(string vmId, string snapshotId, string name, object userState) {
            if ((this.RenameSnapshotOperationCompleted == null)) {
                this.RenameSnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRenameSnapshotOperationCompleted);
            }
            this.InvokeAsync("RenameSnapshot", new object[] {
                        vmId,
                        snapshotId,
                        name}, this.RenameSnapshotOperationCompleted, userState);
        }
        
        private void OnRenameSnapshotOperationCompleted(object arg) {
            if ((this.RenameSnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RenameSnapshotCompleted(this, new RenameSnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ApplySnapshot", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult ApplySnapshot(string vmId, string snapshotId) {
            object[] results = this.Invoke("ApplySnapshot", new object[] {
                        vmId,
                        snapshotId});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginApplySnapshot(string vmId, string snapshotId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ApplySnapshot", new object[] {
                        vmId,
                        snapshotId}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndApplySnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void ApplySnapshotAsync(string vmId, string snapshotId) {
            this.ApplySnapshotAsync(vmId, snapshotId, null);
        }
        
        /// <remarks/>
        public void ApplySnapshotAsync(string vmId, string snapshotId, object userState) {
            if ((this.ApplySnapshotOperationCompleted == null)) {
                this.ApplySnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnApplySnapshotOperationCompleted);
            }
            this.InvokeAsync("ApplySnapshot", new object[] {
                        vmId,
                        snapshotId}, this.ApplySnapshotOperationCompleted, userState);
        }
        
        private void OnApplySnapshotOperationCompleted(object arg) {
            if ((this.ApplySnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ApplySnapshotCompleted(this, new ApplySnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteSnapshot", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult DeleteSnapshot(string snapshotId) {
            object[] results = this.Invoke("DeleteSnapshot", new object[] {
                        snapshotId});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteSnapshot(string snapshotId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteSnapshot", new object[] {
                        snapshotId}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndDeleteSnapshot(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteSnapshotAsync(string snapshotId) {
            this.DeleteSnapshotAsync(snapshotId, null);
        }
        
        /// <remarks/>
        public void DeleteSnapshotAsync(string snapshotId, object userState) {
            if ((this.DeleteSnapshotOperationCompleted == null)) {
                this.DeleteSnapshotOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteSnapshotOperationCompleted);
            }
            this.InvokeAsync("DeleteSnapshot", new object[] {
                        snapshotId}, this.DeleteSnapshotOperationCompleted, userState);
        }
        
        private void OnDeleteSnapshotOperationCompleted(object arg) {
            if ((this.DeleteSnapshotCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteSnapshotCompleted(this, new DeleteSnapshotCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteSnapshotSubtree", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult DeleteSnapshotSubtree(string snapshotId) {
            object[] results = this.Invoke("DeleteSnapshotSubtree", new object[] {
                        snapshotId});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteSnapshotSubtree(string snapshotId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteSnapshotSubtree", new object[] {
                        snapshotId}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndDeleteSnapshotSubtree(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteSnapshotSubtreeAsync(string snapshotId) {
            this.DeleteSnapshotSubtreeAsync(snapshotId, null);
        }
        
        /// <remarks/>
        public void DeleteSnapshotSubtreeAsync(string snapshotId, object userState) {
            if ((this.DeleteSnapshotSubtreeOperationCompleted == null)) {
                this.DeleteSnapshotSubtreeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteSnapshotSubtreeOperationCompleted);
            }
            this.InvokeAsync("DeleteSnapshotSubtree", new object[] {
                        snapshotId}, this.DeleteSnapshotSubtreeOperationCompleted, userState);
        }
        
        private void OnDeleteSnapshotSubtreeOperationCompleted(object arg) {
            if ((this.DeleteSnapshotSubtreeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteSnapshotSubtreeCompleted(this, new DeleteSnapshotSubtreeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetSnapshotThumbnailImage", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] GetSnapshotThumbnailImage(string snapshotId, ThumbnailSize size) {
            object[] results = this.Invoke("GetSnapshotThumbnailImage", new object[] {
                        snapshotId,
                        size});
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetSnapshotThumbnailImage(string snapshotId, ThumbnailSize size, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetSnapshotThumbnailImage", new object[] {
                        snapshotId,
                        size}, callback, asyncState);
        }
        
        /// <remarks/>
        public byte[] EndGetSnapshotThumbnailImage(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public void GetSnapshotThumbnailImageAsync(string snapshotId, ThumbnailSize size) {
            this.GetSnapshotThumbnailImageAsync(snapshotId, size, null);
        }
        
        /// <remarks/>
        public void GetSnapshotThumbnailImageAsync(string snapshotId, ThumbnailSize size, object userState) {
            if ((this.GetSnapshotThumbnailImageOperationCompleted == null)) {
                this.GetSnapshotThumbnailImageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSnapshotThumbnailImageOperationCompleted);
            }
            this.InvokeAsync("GetSnapshotThumbnailImage", new object[] {
                        snapshotId,
                        size}, this.GetSnapshotThumbnailImageOperationCompleted, userState);
        }
        
        private void OnGetSnapshotThumbnailImageOperationCompleted(object arg) {
            if ((this.GetSnapshotThumbnailImageCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSnapshotThumbnailImageCompleted(this, new GetSnapshotThumbnailImageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetExternalSwitches", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualSwitch[] GetExternalSwitches(string computerName) {
            object[] results = this.Invoke("GetExternalSwitches", new object[] {
                        computerName});
            return ((VirtualSwitch[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetExternalSwitches(string computerName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetExternalSwitches", new object[] {
                        computerName}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualSwitch[] EndGetExternalSwitches(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualSwitch[])(results[0]));
        }
        
        /// <remarks/>
        public void GetExternalSwitchesAsync(string computerName) {
            this.GetExternalSwitchesAsync(computerName, null);
        }
        
        /// <remarks/>
        public void GetExternalSwitchesAsync(string computerName, object userState) {
            if ((this.GetExternalSwitchesOperationCompleted == null)) {
                this.GetExternalSwitchesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExternalSwitchesOperationCompleted);
            }
            this.InvokeAsync("GetExternalSwitches", new object[] {
                        computerName}, this.GetExternalSwitchesOperationCompleted, userState);
        }
        
        private void OnGetExternalSwitchesOperationCompleted(object arg) {
            if ((this.GetExternalSwitchesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExternalSwitchesCompleted(this, new GetExternalSwitchesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetSwitches", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualSwitch[] GetSwitches() {
            object[] results = this.Invoke("GetSwitches", new object[0]);
            return ((VirtualSwitch[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetSwitches(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetSwitches", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualSwitch[] EndGetSwitches(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualSwitch[])(results[0]));
        }
        
        /// <remarks/>
        public void GetSwitchesAsync() {
            this.GetSwitchesAsync(null);
        }
        
        /// <remarks/>
        public void GetSwitchesAsync(object userState) {
            if ((this.GetSwitchesOperationCompleted == null)) {
                this.GetSwitchesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSwitchesOperationCompleted);
            }
            this.InvokeAsync("GetSwitches", new object[0], this.GetSwitchesOperationCompleted, userState);
        }
        
        private void OnGetSwitchesOperationCompleted(object arg) {
            if ((this.GetSwitchesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSwitchesCompleted(this, new GetSwitchesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/SwitchExists", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool SwitchExists(string switchId) {
            object[] results = this.Invoke("SwitchExists", new object[] {
                        switchId});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSwitchExists(string switchId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SwitchExists", new object[] {
                        switchId}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndSwitchExists(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void SwitchExistsAsync(string switchId) {
            this.SwitchExistsAsync(switchId, null);
        }
        
        /// <remarks/>
        public void SwitchExistsAsync(string switchId, object userState) {
            if ((this.SwitchExistsOperationCompleted == null)) {
                this.SwitchExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSwitchExistsOperationCompleted);
            }
            this.InvokeAsync("SwitchExists", new object[] {
                        switchId}, this.SwitchExistsOperationCompleted, userState);
        }
        
        private void OnSwitchExistsOperationCompleted(object arg) {
            if ((this.SwitchExistsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SwitchExistsCompleted(this, new SwitchExistsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateSwitch", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualSwitch CreateSwitch(string name) {
            object[] results = this.Invoke("CreateSwitch", new object[] {
                        name});
            return ((VirtualSwitch)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateSwitch(string name, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateSwitch", new object[] {
                        name}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualSwitch EndCreateSwitch(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualSwitch)(results[0]));
        }
        
        /// <remarks/>
        public void CreateSwitchAsync(string name) {
            this.CreateSwitchAsync(name, null);
        }
        
        /// <remarks/>
        public void CreateSwitchAsync(string name, object userState) {
            if ((this.CreateSwitchOperationCompleted == null)) {
                this.CreateSwitchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateSwitchOperationCompleted);
            }
            this.InvokeAsync("CreateSwitch", new object[] {
                        name}, this.CreateSwitchOperationCompleted, userState);
        }
        
        private void OnCreateSwitchOperationCompleted(object arg) {
            if ((this.CreateSwitchCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateSwitchCompleted(this, new CreateSwitchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteSwitch", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ReturnCode DeleteSwitch(string switchId) {
            object[] results = this.Invoke("DeleteSwitch", new object[] {
                        switchId});
            return ((ReturnCode)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteSwitch(string switchId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteSwitch", new object[] {
                        switchId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ReturnCode EndDeleteSwitch(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ReturnCode)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteSwitchAsync(string switchId) {
            this.DeleteSwitchAsync(switchId, null);
        }
        
        /// <remarks/>
        public void DeleteSwitchAsync(string switchId, object userState) {
            if ((this.DeleteSwitchOperationCompleted == null)) {
                this.DeleteSwitchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteSwitchOperationCompleted);
            }
            this.InvokeAsync("DeleteSwitch", new object[] {
                        switchId}, this.DeleteSwitchOperationCompleted, userState);
        }
        
        private void OnDeleteSwitchOperationCompleted(object arg) {
            if ((this.DeleteSwitchCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteSwitchCompleted(this, new DeleteSwitchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetInsertedDVD", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetInsertedDVD(string vmId) {
            object[] results = this.Invoke("GetInsertedDVD", new object[] {
                        vmId});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetInsertedDVD(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetInsertedDVD", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndGetInsertedDVD(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetInsertedDVDAsync(string vmId) {
            this.GetInsertedDVDAsync(vmId, null);
        }
        
        /// <remarks/>
        public void GetInsertedDVDAsync(string vmId, object userState) {
            if ((this.GetInsertedDVDOperationCompleted == null)) {
                this.GetInsertedDVDOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetInsertedDVDOperationCompleted);
            }
            this.InvokeAsync("GetInsertedDVD", new object[] {
                        vmId}, this.GetInsertedDVDOperationCompleted, userState);
        }
        
        private void OnGetInsertedDVDOperationCompleted(object arg) {
            if ((this.GetInsertedDVDCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetInsertedDVDCompleted(this, new GetInsertedDVDCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/InsertDVD", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult InsertDVD(string vmId, string isoPath) {
            object[] results = this.Invoke("InsertDVD", new object[] {
                        vmId,
                        isoPath});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginInsertDVD(string vmId, string isoPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("InsertDVD", new object[] {
                        vmId,
                        isoPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndInsertDVD(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void InsertDVDAsync(string vmId, string isoPath) {
            this.InsertDVDAsync(vmId, isoPath, null);
        }
        
        /// <remarks/>
        public void InsertDVDAsync(string vmId, string isoPath, object userState) {
            if ((this.InsertDVDOperationCompleted == null)) {
                this.InsertDVDOperationCompleted = new System.Threading.SendOrPostCallback(this.OnInsertDVDOperationCompleted);
            }
            this.InvokeAsync("InsertDVD", new object[] {
                        vmId,
                        isoPath}, this.InsertDVDOperationCompleted, userState);
        }
        
        private void OnInsertDVDOperationCompleted(object arg) {
            if ((this.InsertDVDCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.InsertDVDCompleted(this, new InsertDVDCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/EjectDVD", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult EjectDVD(string vmId) {
            object[] results = this.Invoke("EjectDVD", new object[] {
                        vmId});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginEjectDVD(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("EjectDVD", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndEjectDVD(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void EjectDVDAsync(string vmId) {
            this.EjectDVDAsync(vmId, null);
        }
        
        /// <remarks/>
        public void EjectDVDAsync(string vmId, object userState) {
            if ((this.EjectDVDOperationCompleted == null)) {
                this.EjectDVDOperationCompleted = new System.Threading.SendOrPostCallback(this.OnEjectDVDOperationCompleted);
            }
            this.InvokeAsync("EjectDVD", new object[] {
                        vmId}, this.EjectDVDOperationCompleted, userState);
        }
        
        private void OnEjectDVDOperationCompleted(object arg) {
            if ((this.EjectDVDCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.EjectDVDCompleted(this, new EjectDVDCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetLibraryItems", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public LibraryItem[] GetLibraryItems(string path) {
            object[] results = this.Invoke("GetLibraryItems", new object[] {
                        path});
            return ((LibraryItem[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetLibraryItems(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetLibraryItems", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public LibraryItem[] EndGetLibraryItems(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((LibraryItem[])(results[0]));
        }
        
        /// <remarks/>
        public void GetLibraryItemsAsync(string path) {
            this.GetLibraryItemsAsync(path, null);
        }
        
        /// <remarks/>
        public void GetLibraryItemsAsync(string path, object userState) {
            if ((this.GetLibraryItemsOperationCompleted == null)) {
                this.GetLibraryItemsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLibraryItemsOperationCompleted);
            }
            this.InvokeAsync("GetLibraryItems", new object[] {
                        path}, this.GetLibraryItemsOperationCompleted, userState);
        }
        
        private void OnGetLibraryItemsOperationCompleted(object arg) {
            if ((this.GetLibraryItemsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLibraryItemsCompleted(this, new GetLibraryItemsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetKVPItems", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public KvpExchangeDataItem[] GetKVPItems(string vmId) {
            object[] results = this.Invoke("GetKVPItems", new object[] {
                        vmId});
            return ((KvpExchangeDataItem[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetKVPItems(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetKVPItems", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public KvpExchangeDataItem[] EndGetKVPItems(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((KvpExchangeDataItem[])(results[0]));
        }
        
        /// <remarks/>
        public void GetKVPItemsAsync(string vmId) {
            this.GetKVPItemsAsync(vmId, null);
        }
        
        /// <remarks/>
        public void GetKVPItemsAsync(string vmId, object userState) {
            if ((this.GetKVPItemsOperationCompleted == null)) {
                this.GetKVPItemsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetKVPItemsOperationCompleted);
            }
            this.InvokeAsync("GetKVPItems", new object[] {
                        vmId}, this.GetKVPItemsOperationCompleted, userState);
        }
        
        private void OnGetKVPItemsOperationCompleted(object arg) {
            if ((this.GetKVPItemsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetKVPItemsCompleted(this, new GetKVPItemsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetStandardKVPItems", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public KvpExchangeDataItem[] GetStandardKVPItems(string vmId) {
            object[] results = this.Invoke("GetStandardKVPItems", new object[] {
                        vmId});
            return ((KvpExchangeDataItem[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetStandardKVPItems(string vmId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetStandardKVPItems", new object[] {
                        vmId}, callback, asyncState);
        }
        
        /// <remarks/>
        public KvpExchangeDataItem[] EndGetStandardKVPItems(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((KvpExchangeDataItem[])(results[0]));
        }
        
        /// <remarks/>
        public void GetStandardKVPItemsAsync(string vmId) {
            this.GetStandardKVPItemsAsync(vmId, null);
        }
        
        /// <remarks/>
        public void GetStandardKVPItemsAsync(string vmId, object userState) {
            if ((this.GetStandardKVPItemsOperationCompleted == null)) {
                this.GetStandardKVPItemsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetStandardKVPItemsOperationCompleted);
            }
            this.InvokeAsync("GetStandardKVPItems", new object[] {
                        vmId}, this.GetStandardKVPItemsOperationCompleted, userState);
        }
        
        private void OnGetStandardKVPItemsOperationCompleted(object arg) {
            if ((this.GetStandardKVPItemsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetStandardKVPItemsCompleted(this, new GetStandardKVPItemsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/AddKVPItems", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult AddKVPItems(string vmId, KvpExchangeDataItem[] items) {
            object[] results = this.Invoke("AddKVPItems", new object[] {
                        vmId,
                        items});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddKVPItems(string vmId, KvpExchangeDataItem[] items, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddKVPItems", new object[] {
                        vmId,
                        items}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndAddKVPItems(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void AddKVPItemsAsync(string vmId, KvpExchangeDataItem[] items) {
            this.AddKVPItemsAsync(vmId, items, null);
        }
        
        /// <remarks/>
        public void AddKVPItemsAsync(string vmId, KvpExchangeDataItem[] items, object userState) {
            if ((this.AddKVPItemsOperationCompleted == null)) {
                this.AddKVPItemsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddKVPItemsOperationCompleted);
            }
            this.InvokeAsync("AddKVPItems", new object[] {
                        vmId,
                        items}, this.AddKVPItemsOperationCompleted, userState);
        }
        
        private void OnAddKVPItemsOperationCompleted(object arg) {
            if ((this.AddKVPItemsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddKVPItemsCompleted(this, new AddKVPItemsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/RemoveKVPItems", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult RemoveKVPItems(string vmId, string[] itemNames) {
            object[] results = this.Invoke("RemoveKVPItems", new object[] {
                        vmId,
                        itemNames});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginRemoveKVPItems(string vmId, string[] itemNames, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("RemoveKVPItems", new object[] {
                        vmId,
                        itemNames}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndRemoveKVPItems(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void RemoveKVPItemsAsync(string vmId, string[] itemNames) {
            this.RemoveKVPItemsAsync(vmId, itemNames, null);
        }
        
        /// <remarks/>
        public void RemoveKVPItemsAsync(string vmId, string[] itemNames, object userState) {
            if ((this.RemoveKVPItemsOperationCompleted == null)) {
                this.RemoveKVPItemsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveKVPItemsOperationCompleted);
            }
            this.InvokeAsync("RemoveKVPItems", new object[] {
                        vmId,
                        itemNames}, this.RemoveKVPItemsOperationCompleted, userState);
        }
        
        private void OnRemoveKVPItemsOperationCompleted(object arg) {
            if ((this.RemoveKVPItemsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RemoveKVPItemsCompleted(this, new RemoveKVPItemsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ModifyKVPItems", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult ModifyKVPItems(string vmId, KvpExchangeDataItem[] items) {
            object[] results = this.Invoke("ModifyKVPItems", new object[] {
                        vmId,
                        items});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginModifyKVPItems(string vmId, KvpExchangeDataItem[] items, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ModifyKVPItems", new object[] {
                        vmId,
                        items}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndModifyKVPItems(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void ModifyKVPItemsAsync(string vmId, KvpExchangeDataItem[] items) {
            this.ModifyKVPItemsAsync(vmId, items, null);
        }
        
        /// <remarks/>
        public void ModifyKVPItemsAsync(string vmId, KvpExchangeDataItem[] items, object userState) {
            if ((this.ModifyKVPItemsOperationCompleted == null)) {
                this.ModifyKVPItemsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnModifyKVPItemsOperationCompleted);
            }
            this.InvokeAsync("ModifyKVPItems", new object[] {
                        vmId,
                        items}, this.ModifyKVPItemsOperationCompleted, userState);
        }
        
        private void OnModifyKVPItemsOperationCompleted(object arg) {
            if ((this.ModifyKVPItemsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ModifyKVPItemsCompleted(this, new ModifyKVPItemsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetVirtualHardDiskInfo", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public VirtualHardDiskInfo GetVirtualHardDiskInfo(string vhdPath) {
            object[] results = this.Invoke("GetVirtualHardDiskInfo", new object[] {
                        vhdPath});
            return ((VirtualHardDiskInfo)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVirtualHardDiskInfo(string vhdPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVirtualHardDiskInfo", new object[] {
                        vhdPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public VirtualHardDiskInfo EndGetVirtualHardDiskInfo(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VirtualHardDiskInfo)(results[0]));
        }
        
        /// <remarks/>
        public void GetVirtualHardDiskInfoAsync(string vhdPath) {
            this.GetVirtualHardDiskInfoAsync(vhdPath, null);
        }
        
        /// <remarks/>
        public void GetVirtualHardDiskInfoAsync(string vhdPath, object userState) {
            if ((this.GetVirtualHardDiskInfoOperationCompleted == null)) {
                this.GetVirtualHardDiskInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualHardDiskInfoOperationCompleted);
            }
            this.InvokeAsync("GetVirtualHardDiskInfo", new object[] {
                        vhdPath}, this.GetVirtualHardDiskInfoOperationCompleted, userState);
        }
        
        private void OnGetVirtualHardDiskInfoOperationCompleted(object arg) {
            if ((this.GetVirtualHardDiskInfoCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVirtualHardDiskInfoCompleted(this, new GetVirtualHardDiskInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/MountVirtualHardDisk", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public MountedDiskInfo MountVirtualHardDisk(string vhdPath) {
            object[] results = this.Invoke("MountVirtualHardDisk", new object[] {
                        vhdPath});
            return ((MountedDiskInfo)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginMountVirtualHardDisk(string vhdPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("MountVirtualHardDisk", new object[] {
                        vhdPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public MountedDiskInfo EndMountVirtualHardDisk(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((MountedDiskInfo)(results[0]));
        }
        
        /// <remarks/>
        public void MountVirtualHardDiskAsync(string vhdPath) {
            this.MountVirtualHardDiskAsync(vhdPath, null);
        }
        
        /// <remarks/>
        public void MountVirtualHardDiskAsync(string vhdPath, object userState) {
            if ((this.MountVirtualHardDiskOperationCompleted == null)) {
                this.MountVirtualHardDiskOperationCompleted = new System.Threading.SendOrPostCallback(this.OnMountVirtualHardDiskOperationCompleted);
            }
            this.InvokeAsync("MountVirtualHardDisk", new object[] {
                        vhdPath}, this.MountVirtualHardDiskOperationCompleted, userState);
        }
        
        private void OnMountVirtualHardDiskOperationCompleted(object arg) {
            if ((this.MountVirtualHardDiskCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.MountVirtualHardDiskCompleted(this, new MountVirtualHardDiskCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UnmountVirtualHardDisk", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ReturnCode UnmountVirtualHardDisk(string vhdPath) {
            object[] results = this.Invoke("UnmountVirtualHardDisk", new object[] {
                        vhdPath});
            return ((ReturnCode)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUnmountVirtualHardDisk(string vhdPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UnmountVirtualHardDisk", new object[] {
                        vhdPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public ReturnCode EndUnmountVirtualHardDisk(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ReturnCode)(results[0]));
        }
        
        /// <remarks/>
        public void UnmountVirtualHardDiskAsync(string vhdPath) {
            this.UnmountVirtualHardDiskAsync(vhdPath, null);
        }
        
        /// <remarks/>
        public void UnmountVirtualHardDiskAsync(string vhdPath, object userState) {
            if ((this.UnmountVirtualHardDiskOperationCompleted == null)) {
                this.UnmountVirtualHardDiskOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUnmountVirtualHardDiskOperationCompleted);
            }
            this.InvokeAsync("UnmountVirtualHardDisk", new object[] {
                        vhdPath}, this.UnmountVirtualHardDiskOperationCompleted, userState);
        }
        
        private void OnUnmountVirtualHardDiskOperationCompleted(object arg) {
            if ((this.UnmountVirtualHardDiskCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UnmountVirtualHardDiskCompleted(this, new UnmountVirtualHardDiskCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ExpandVirtualHardDisk", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult ExpandVirtualHardDisk(string vhdPath, ulong sizeGB) {
            object[] results = this.Invoke("ExpandVirtualHardDisk", new object[] {
                        vhdPath,
                        sizeGB});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginExpandVirtualHardDisk(string vhdPath, ulong sizeGB, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ExpandVirtualHardDisk", new object[] {
                        vhdPath,
                        sizeGB}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndExpandVirtualHardDisk(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void ExpandVirtualHardDiskAsync(string vhdPath, ulong sizeGB) {
            this.ExpandVirtualHardDiskAsync(vhdPath, sizeGB, null);
        }
        
        /// <remarks/>
        public void ExpandVirtualHardDiskAsync(string vhdPath, ulong sizeGB, object userState) {
            if ((this.ExpandVirtualHardDiskOperationCompleted == null)) {
                this.ExpandVirtualHardDiskOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExpandVirtualHardDiskOperationCompleted);
            }
            this.InvokeAsync("ExpandVirtualHardDisk", new object[] {
                        vhdPath,
                        sizeGB}, this.ExpandVirtualHardDiskOperationCompleted, userState);
        }
        
        private void OnExpandVirtualHardDiskOperationCompleted(object arg) {
            if ((this.ExpandVirtualHardDiskCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ExpandVirtualHardDiskCompleted(this, new ExpandVirtualHardDiskCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ConvertVirtualHardDisk", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public JobResult ConvertVirtualHardDisk(string sourcePath, string destinationPath, VirtualHardDiskType diskType) {
            object[] results = this.Invoke("ConvertVirtualHardDisk", new object[] {
                        sourcePath,
                        destinationPath,
                        diskType});
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginConvertVirtualHardDisk(string sourcePath, string destinationPath, VirtualHardDiskType diskType, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ConvertVirtualHardDisk", new object[] {
                        sourcePath,
                        destinationPath,
                        diskType}, callback, asyncState);
        }
        
        /// <remarks/>
        public JobResult EndConvertVirtualHardDisk(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((JobResult)(results[0]));
        }
        
        /// <remarks/>
        public void ConvertVirtualHardDiskAsync(string sourcePath, string destinationPath, VirtualHardDiskType diskType) {
            this.ConvertVirtualHardDiskAsync(sourcePath, destinationPath, diskType, null);
        }
        
        /// <remarks/>
        public void ConvertVirtualHardDiskAsync(string sourcePath, string destinationPath, VirtualHardDiskType diskType, object userState) {
            if ((this.ConvertVirtualHardDiskOperationCompleted == null)) {
                this.ConvertVirtualHardDiskOperationCompleted = new System.Threading.SendOrPostCallback(this.OnConvertVirtualHardDiskOperationCompleted);
            }
            this.InvokeAsync("ConvertVirtualHardDisk", new object[] {
                        sourcePath,
                        destinationPath,
                        diskType}, this.ConvertVirtualHardDiskOperationCompleted, userState);
        }
        
        private void OnConvertVirtualHardDiskOperationCompleted(object arg) {
            if ((this.ConvertVirtualHardDiskCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ConvertVirtualHardDiskCompleted(this, new ConvertVirtualHardDiskCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteRemoteFile", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteRemoteFile(string path) {
            this.Invoke("DeleteRemoteFile", new object[] {
                        path});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteRemoteFile(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteRemoteFile", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteRemoteFile(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteRemoteFileAsync(string path) {
            this.DeleteRemoteFileAsync(path, null);
        }
        
        /// <remarks/>
        public void DeleteRemoteFileAsync(string path, object userState) {
            if ((this.DeleteRemoteFileOperationCompleted == null)) {
                this.DeleteRemoteFileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteRemoteFileOperationCompleted);
            }
            this.InvokeAsync("DeleteRemoteFile", new object[] {
                        path}, this.DeleteRemoteFileOperationCompleted, userState);
        }
        
        private void OnDeleteRemoteFileOperationCompleted(object arg) {
            if ((this.DeleteRemoteFileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteRemoteFileCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ExpandDiskVolume", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ExpandDiskVolume(string diskAddress, string volumeName) {
            this.Invoke("ExpandDiskVolume", new object[] {
                        diskAddress,
                        volumeName});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginExpandDiskVolume(string diskAddress, string volumeName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ExpandDiskVolume", new object[] {
                        diskAddress,
                        volumeName}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndExpandDiskVolume(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void ExpandDiskVolumeAsync(string diskAddress, string volumeName) {
            this.ExpandDiskVolumeAsync(diskAddress, volumeName, null);
        }
        
        /// <remarks/>
        public void ExpandDiskVolumeAsync(string diskAddress, string volumeName, object userState) {
            if ((this.ExpandDiskVolumeOperationCompleted == null)) {
                this.ExpandDiskVolumeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExpandDiskVolumeOperationCompleted);
            }
            this.InvokeAsync("ExpandDiskVolume", new object[] {
                        diskAddress,
                        volumeName}, this.ExpandDiskVolumeOperationCompleted, userState);
        }
        
        private void OnExpandDiskVolumeOperationCompleted(object arg) {
            if ((this.ExpandDiskVolumeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ExpandDiskVolumeCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ReadRemoteFile", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string ReadRemoteFile(string path) {
            object[] results = this.Invoke("ReadRemoteFile", new object[] {
                        path});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginReadRemoteFile(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ReadRemoteFile", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndReadRemoteFile(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void ReadRemoteFileAsync(string path) {
            this.ReadRemoteFileAsync(path, null);
        }
        
        /// <remarks/>
        public void ReadRemoteFileAsync(string path, object userState) {
            if ((this.ReadRemoteFileOperationCompleted == null)) {
                this.ReadRemoteFileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnReadRemoteFileOperationCompleted);
            }
            this.InvokeAsync("ReadRemoteFile", new object[] {
                        path}, this.ReadRemoteFileOperationCompleted, userState);
        }
        
        private void OnReadRemoteFileOperationCompleted(object arg) {
            if ((this.ReadRemoteFileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ReadRemoteFileCompleted(this, new ReadRemoteFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/WriteRemoteFile", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void WriteRemoteFile(string path, string content) {
            this.Invoke("WriteRemoteFile", new object[] {
                        path,
                        content});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginWriteRemoteFile(string path, string content, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("WriteRemoteFile", new object[] {
                        path,
                        content}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndWriteRemoteFile(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void WriteRemoteFileAsync(string path, string content) {
            this.WriteRemoteFileAsync(path, content, null);
        }
        
        /// <remarks/>
        public void WriteRemoteFileAsync(string path, string content, object userState) {
            if ((this.WriteRemoteFileOperationCompleted == null)) {
                this.WriteRemoteFileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWriteRemoteFileOperationCompleted);
            }
            this.InvokeAsync("WriteRemoteFile", new object[] {
                        path,
                        content}, this.WriteRemoteFileOperationCompleted, userState);
        }
        
        private void OnWriteRemoteFileOperationCompleted(object arg) {
            if ((this.WriteRemoteFileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.WriteRemoteFileCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetJob", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ConcreteJob GetJob(string jobId) {
            object[] results = this.Invoke("GetJob", new object[] {
                        jobId});
            return ((ConcreteJob)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetJob(string jobId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetJob", new object[] {
                        jobId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ConcreteJob EndGetJob(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ConcreteJob)(results[0]));
        }
        
        /// <remarks/>
        public void GetJobAsync(string jobId) {
            this.GetJobAsync(jobId, null);
        }
        
        /// <remarks/>
        public void GetJobAsync(string jobId, object userState) {
            if ((this.GetJobOperationCompleted == null)) {
                this.GetJobOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetJobOperationCompleted);
            }
            this.InvokeAsync("GetJob", new object[] {
                        jobId}, this.GetJobOperationCompleted, userState);
        }
        
        private void OnGetJobOperationCompleted(object arg) {
            if ((this.GetJobCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetJobCompleted(this, new GetJobCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetAllJobs", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ConcreteJob[] GetAllJobs() {
            object[] results = this.Invoke("GetAllJobs", new object[0]);
            return ((ConcreteJob[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetAllJobs(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetAllJobs", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public ConcreteJob[] EndGetAllJobs(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ConcreteJob[])(results[0]));
        }
        
        /// <remarks/>
        public void GetAllJobsAsync() {
            this.GetAllJobsAsync(null);
        }
        
        /// <remarks/>
        public void GetAllJobsAsync(object userState) {
            if ((this.GetAllJobsOperationCompleted == null)) {
                this.GetAllJobsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAllJobsOperationCompleted);
            }
            this.InvokeAsync("GetAllJobs", new object[0], this.GetAllJobsOperationCompleted, userState);
        }
        
        private void OnGetAllJobsOperationCompleted(object arg) {
            if ((this.GetAllJobsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAllJobsCompleted(this, new GetAllJobsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ChangeJobState", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ChangeJobStateReturnCode ChangeJobState(string jobId, ConcreteJobRequestedState newState) {
            object[] results = this.Invoke("ChangeJobState", new object[] {
                        jobId,
                        newState});
            return ((ChangeJobStateReturnCode)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginChangeJobState(string jobId, ConcreteJobRequestedState newState, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ChangeJobState", new object[] {
                        jobId,
                        newState}, callback, asyncState);
        }
        
        /// <remarks/>
        public ChangeJobStateReturnCode EndChangeJobState(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ChangeJobStateReturnCode)(results[0]));
        }
        
        /// <remarks/>
        public void ChangeJobStateAsync(string jobId, ConcreteJobRequestedState newState) {
            this.ChangeJobStateAsync(jobId, newState, null);
        }
        
        /// <remarks/>
        public void ChangeJobStateAsync(string jobId, ConcreteJobRequestedState newState, object userState) {
            if ((this.ChangeJobStateOperationCompleted == null)) {
                this.ChangeJobStateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeJobStateOperationCompleted);
            }
            this.InvokeAsync("ChangeJobState", new object[] {
                        jobId,
                        newState}, this.ChangeJobStateOperationCompleted, userState);
        }
        
        private void OnChangeJobStateOperationCompleted(object arg) {
            if ((this.ChangeJobStateCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ChangeJobStateCompleted(this, new ChangeJobStateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetProcessorCoresNumber", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int GetProcessorCoresNumber() {
            object[] results = this.Invoke("GetProcessorCoresNumber", new object[0]);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetProcessorCoresNumber(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetProcessorCoresNumber", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public int EndGetProcessorCoresNumber(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void GetProcessorCoresNumberAsync() {
            this.GetProcessorCoresNumberAsync(null);
        }
        
        /// <remarks/>
        public void GetProcessorCoresNumberAsync(object userState) {
            if ((this.GetProcessorCoresNumberOperationCompleted == null)) {
                this.GetProcessorCoresNumberOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetProcessorCoresNumberOperationCompleted);
            }
            this.InvokeAsync("GetProcessorCoresNumber", new object[0], this.GetProcessorCoresNumberOperationCompleted, userState);
        }
        
        private void OnGetProcessorCoresNumberOperationCompleted(object arg) {
            if ((this.GetProcessorCoresNumberCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetProcessorCoresNumberCompleted(this, new GetProcessorCoresNumberCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetVirtualMachineCompletedEventHandler(object sender, GetVirtualMachineCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualMachine Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualMachine)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetVirtualMachineExCompletedEventHandler(object sender, GetVirtualMachineExCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVirtualMachineExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVirtualMachineExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualMachine Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualMachine)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetVirtualMachinesCompletedEventHandler(object sender, GetVirtualMachinesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVirtualMachinesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVirtualMachinesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualMachine[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualMachine[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetVirtualMachineThumbnailImageCompletedEventHandler(object sender, GetVirtualMachineThumbnailImageCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVirtualMachineThumbnailImageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVirtualMachineThumbnailImageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateVirtualMachineCompletedEventHandler(object sender, CreateVirtualMachineCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualMachine Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualMachine)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void UpdateVirtualMachineCompletedEventHandler(object sender, UpdateVirtualMachineCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UpdateVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UpdateVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualMachine Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualMachine)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ChangeVirtualMachineStateCompletedEventHandler(object sender, ChangeVirtualMachineStateCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ChangeVirtualMachineStateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ChangeVirtualMachineStateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ShutDownVirtualMachineCompletedEventHandler(object sender, ShutDownVirtualMachineCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ShutDownVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ShutDownVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ReturnCode Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ReturnCode)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetVirtualMachineJobsCompletedEventHandler(object sender, GetVirtualMachineJobsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVirtualMachineJobsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVirtualMachineJobsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ConcreteJob[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ConcreteJob[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void RenameVirtualMachineCompletedEventHandler(object sender, RenameVirtualMachineCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class RenameVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal RenameVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteVirtualMachineCompletedEventHandler(object sender, DeleteVirtualMachineCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ExportVirtualMachineCompletedEventHandler(object sender, ExportVirtualMachineCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ExportVirtualMachineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ExportVirtualMachineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetVirtualMachineSnapshotsCompletedEventHandler(object sender, GetVirtualMachineSnapshotsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVirtualMachineSnapshotsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVirtualMachineSnapshotsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualMachineSnapshot[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualMachineSnapshot[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetSnapshotCompletedEventHandler(object sender, GetSnapshotCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualMachineSnapshot Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualMachineSnapshot)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateSnapshotCompletedEventHandler(object sender, CreateSnapshotCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void RenameSnapshotCompletedEventHandler(object sender, RenameSnapshotCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class RenameSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal RenameSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ApplySnapshotCompletedEventHandler(object sender, ApplySnapshotCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ApplySnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ApplySnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteSnapshotCompletedEventHandler(object sender, DeleteSnapshotCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteSnapshotSubtreeCompletedEventHandler(object sender, DeleteSnapshotSubtreeCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteSnapshotSubtreeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteSnapshotSubtreeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetSnapshotThumbnailImageCompletedEventHandler(object sender, GetSnapshotThumbnailImageCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSnapshotThumbnailImageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSnapshotThumbnailImageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetExternalSwitchesCompletedEventHandler(object sender, GetExternalSwitchesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetExternalSwitchesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetExternalSwitchesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualSwitch[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualSwitch[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetSwitchesCompletedEventHandler(object sender, GetSwitchesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSwitchesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSwitchesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualSwitch[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualSwitch[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SwitchExistsCompletedEventHandler(object sender, SwitchExistsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SwitchExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SwitchExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateSwitchCompletedEventHandler(object sender, CreateSwitchCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateSwitchCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateSwitchCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualSwitch Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualSwitch)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteSwitchCompletedEventHandler(object sender, DeleteSwitchCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteSwitchCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteSwitchCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ReturnCode Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ReturnCode)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetInsertedDVDCompletedEventHandler(object sender, GetInsertedDVDCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetInsertedDVDCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetInsertedDVDCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void InsertDVDCompletedEventHandler(object sender, InsertDVDCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class InsertDVDCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal InsertDVDCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void EjectDVDCompletedEventHandler(object sender, EjectDVDCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class EjectDVDCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal EjectDVDCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetLibraryItemsCompletedEventHandler(object sender, GetLibraryItemsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLibraryItemsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLibraryItemsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public LibraryItem[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((LibraryItem[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetKVPItemsCompletedEventHandler(object sender, GetKVPItemsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetKVPItemsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetKVPItemsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public KvpExchangeDataItem[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((KvpExchangeDataItem[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetStandardKVPItemsCompletedEventHandler(object sender, GetStandardKVPItemsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetStandardKVPItemsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetStandardKVPItemsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public KvpExchangeDataItem[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((KvpExchangeDataItem[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void AddKVPItemsCompletedEventHandler(object sender, AddKVPItemsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class AddKVPItemsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal AddKVPItemsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void RemoveKVPItemsCompletedEventHandler(object sender, RemoveKVPItemsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class RemoveKVPItemsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal RemoveKVPItemsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ModifyKVPItemsCompletedEventHandler(object sender, ModifyKVPItemsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ModifyKVPItemsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ModifyKVPItemsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetVirtualHardDiskInfoCompletedEventHandler(object sender, GetVirtualHardDiskInfoCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVirtualHardDiskInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVirtualHardDiskInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public VirtualHardDiskInfo Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((VirtualHardDiskInfo)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void MountVirtualHardDiskCompletedEventHandler(object sender, MountVirtualHardDiskCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class MountVirtualHardDiskCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal MountVirtualHardDiskCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public MountedDiskInfo Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((MountedDiskInfo)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void UnmountVirtualHardDiskCompletedEventHandler(object sender, UnmountVirtualHardDiskCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UnmountVirtualHardDiskCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UnmountVirtualHardDiskCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ReturnCode Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ReturnCode)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ExpandVirtualHardDiskCompletedEventHandler(object sender, ExpandVirtualHardDiskCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ExpandVirtualHardDiskCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ExpandVirtualHardDiskCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ConvertVirtualHardDiskCompletedEventHandler(object sender, ConvertVirtualHardDiskCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ConvertVirtualHardDiskCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ConvertVirtualHardDiskCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public JobResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((JobResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteRemoteFileCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ExpandDiskVolumeCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ReadRemoteFileCompletedEventHandler(object sender, ReadRemoteFileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ReadRemoteFileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ReadRemoteFileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void WriteRemoteFileCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetJobCompletedEventHandler(object sender, GetJobCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetJobCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetJobCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ConcreteJob Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ConcreteJob)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetAllJobsCompletedEventHandler(object sender, GetAllJobsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAllJobsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAllJobsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ConcreteJob[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ConcreteJob[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ChangeJobStateCompletedEventHandler(object sender, ChangeJobStateCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ChangeJobStateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ChangeJobStateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ChangeJobStateReturnCode Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ChangeJobStateReturnCode)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetProcessorCoresNumberCompletedEventHandler(object sender, GetProcessorCoresNumberCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetProcessorCoresNumberCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetProcessorCoresNumberCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
}
